package com.wuql.create.util;

/**
 * 数据库字段名称转Java驼峰名称工具类
 * @author : wuQingLiang
 * @date : 2024/3/14
 **/
public class UnderlineToCamelUtils {
    /**
     * 数据库字段下划线转Java驼峰
     * @param line 数据库数据表字段名称 带下划线的转驼峰
     * @return
     */
    public static String underlineToCamel(String line) {
        if (line == null || "".equals(line)) {
            return "";
        }
        StringBuffer sb = new StringBuffer();
        // 正则表达式分割
        String[] lines = line.split("_");
        for (int i = 0; i < lines.length; i++) {
            if(i==0){
                sb.append(lines[0].toLowerCase());
            }else{
                // 将第一个字母转换为大写
                sb.append(Character.toUpperCase(lines[i].charAt(0)));
                // 将后续字母转换为小写
                sb.append(lines[i].substring(1).toLowerCase());
            }
        }
        return sb.toString();
    }

    /**
     * 参数名称  类名 首字母转小写
     * @param beanName 实体类名
     * @return
     */
    public static String firstCharToLower(String beanName) {
        if (beanName == null || "".equals(beanName)) {
            return "";
        }
        StringBuffer sb = new StringBuffer();
        sb.append(Character.toLowerCase(beanName.charAt(0)));
        sb.append(beanName.substring(1));
        return sb.toString();
    }
}
